home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
C++ für Kids
/
C++ for kids.iso
/
Buch
/
Monster5.cpp
< prev
next >
Wrap
C/C++ Source or Header
|
1999-01-21
|
4KB
|
136 lines
//---------------------------------------------------------------------------
#include <vcl\vcl.h>
#pragma hdrstop
#include "Monster5.h"
//---------------------------------------------------------------------------
#pragma resource "*.dfm"
const String Pfad = "c:\\cpp\\buch\\";
class TMonster
{
private:
String Name;
String Wesen;
String Bild;
public:
virtual void Erscheinen(void);
virtual String Typ (void) {return "Monster";};
TMonster (String N, String W, String Datei);
virtual ~TMonster (void);
};
class TGMonster : public TMonster
{
public:
virtual String Typ (void) {return "GeistesMonster";};
TGMonster (String N, String W, String Datei);
virtual ~TGMonster (void);
};
class TSMonster : public TMonster
{
public:
virtual String Typ (void) {return "SeelenMonster";};
TSMonster (String N, String W, String Datei);
virtual ~TSMonster (void);
};
//---------------------------------------------------------------------------
TMonster *WerWohl;
bool Modus;
int Zufall;
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
// Monster-Konstruktoren
//---------------------------------------------------------------------------
TMonster::TMonster (String N, String W, String Datei)
{
Name = N; Wesen = W; Bild = Datei;
}
//---------------------------------------------------------------------------
TGMonster::TGMonster (String N, String W, String Datei)
: TMonster (N, W, Datei)
{
}
//---------------------------------------------------------------------------
TSMonster::TSMonster (String N, String W, String Datei)
: TMonster (N, W, Datei)
{
}
//---------------------------------------------------------------------------
// Monster-Destruktoren
//---------------------------------------------------------------------------
TMonster::~TMonster (void)
{
Form1->Label1->Caption = "";
Form1->Label2->Caption = "";
Form1->Label3->Caption = "";
Form1->Image1->Hide();
// ShowMessage ("Tschⁿ▀!");
}
//---------------------------------------------------------------------------
TGMonster::~TGMonster (void)
{
ShowMessage ("Ich denke an Dich!");
}
//---------------------------------------------------------------------------
TSMonster::~TSMonster (void)
{
ShowMessage ("Ich vermisse Dich!");
}
//---------------------------------------------------------------------------
void TMonster::Erscheinen (void)
{
Form1->Label1->Caption = "Name: " + Name;
Form1->Label2->Caption = "Wesen: " + Wesen;
Form1->Label3->Caption = "Typ: " + Typ();
Form1->Image1->Picture->LoadFromFile (Pfad+Bild);
Form1->Image1->Show ();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
randomize ();
Modus = true;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
if (Modus)
{
Zufall = random(3);
switch (Zufall)
{
case 0:
WerWohl =
new TMonster("Frankie", "ungew÷hnlich", "Frank.bmp");
break;
case 1:
WerWohl =
new TGMonster("Berti", "nachdenklich", "Albert.bmp");
break;
case 2:
WerWohl =
new TSMonster("Sigi", "mitfⁿhlend", "Sigmund.bmp");
}
WerWohl->Erscheinen ();
Button1->Caption = "Verschwinden";
}
else
{
delete WerWohl;
Button1->Caption = "Erscheinen";
}
Modus = !Modus;
}
//---------------------------------------------------------------------------